1. Field of the Invention
The invention relates generally to the field of digital data processing systems, and more specifically to high speed point-to-point interconnection apparatus for transferring data into or out of the system from or to an external device.
2. Description of the Prior Art
A typical digital data processing system includes three basic elements, namely a processor element, a memory element, and an input/output element. The memory element stores information in addressable storage locations. This information includes both data and instructions for processing the data. The processor element includes one or more digital data processing units, each of which causes information to be transferred, or fetched, to it from the memory element, interprets the incoming information as either instructions or data, and processes the data in accordance with the instructions. The results are then stored in addressed locations in the memory element.
The input/output element also communicates with the memory element in order to transfer information into the system and to obtain the processed data from it. Units comprising the input/output element normally operate in accordance with control information supplied to it by the processor element. The control information defines the operation to be performed by an input/output unit. At least one class of operations performed by an input/output unit is the transfer of user information, that is, information used by a user program, between the input/output unit and the memory element. Typical units comprising the input/output element include, for example, printers, teletypewriters, and video display terminals, and may also include secondary information storage devices such as disk or tape storage units. The input/output units may also include point-to-point information transfer units, that is, interconnect units, for connection to, typically, one external device. An interconnect unit transfers information at a very high rate between and system and the external device. Illustrative external devices include, for example, an array processor, a special scientific laboratory instrument or even another digital data processing system.
U.S. Pat. No. 4,319,323, entitled Communications Device For Data Processing System, issued to Thomas R. Ermolovich, et al., on Mar. 9, 1982, and assigned to the assignee of the present invention, describes an interconnect unit (termed therein a "communications unit") for transferring information between a digital data processing system and an external device. The interconnect unit described in the patent connects to the external device over a bus which transfers information between two and only two devices, namely, the interconnect unit and the external device. The interconnect unit includes a section which transfers control information and a section which transfers user information. As with control information provided by the processor to control an input/output unit, the control information transferred over the bus between the interconnect unit and the external device provides information about, and defines, the transfer of user information therebetween over the user information transfer section.
One problem which has arisen with the interconnect unit described in the afore-mentioned patent is tha tthe protocol for transferring information over the bus is a complex one, which makes it relatively difficult and expensive to construct an external device that can connect to it.
For example, the user information transfer section transfers information synchronously, that is, it includes a line which transfers a timing signal which times the data as it it transferred between the two devices. In addition, the transfer section includes a plurality of wires for transferring signals between the interconnect unit and the external device relating to the current status of the units in connection with the information transfer. In particular, the signals indicate whether the units (a) are currently engaged in a data transfer and (b) are currently able to transmit or receive data, while engaged in the transfer. That is, the signals indicate whether or not the units are "stalled". In a synchronous transfer, information signals must be placed on the data lines by the transmitting unit and latched by the receiving unit with every tick of the transfer synchronizing signal. However, in many circumstances, the transmitting unit may, because of delays it may have in obtaining information to transfer, have short periods of time during which it has no information to transmit. Similarly, the receiving unit may be temporarily unable to take data which the transmitting device has ready for it. If either of these were to occur, for example, in a transfer between a memory and a disk or tape storage unit, an error would be noted by the disk or tape storage unit, and the transfer would be aborted. The processor would then be interrupted, which may cause the transfer to be repeated. However, if the external device were one of certain types of scientific instruments, repeating the transfer may not be possible or practical.